The R markdown is available from the pulldown menu for Code at the upper-right, choose “Download Rmd”, or download the Rmd from GitHub.
This vignette will show you how to perform a shortest path calculation using RBGL on a network in Cytoscape. RBGL is a Biocondutor package that offers an array of analytical functions for graphs.
Installation
if(!"RCy3" %in% installed.packages()){
install.packages("BiocManager")
BiocManager::install("RCy3")
}
if(!"RBGL" %in% installed.packages()){
install.packages("BiocManager")
BiocManager::install("RBGL")
}
library(RCy3)
library(RBGL)
Required Software
The whole point of RCy3 is to connect with Cytoscape. You will need to install and launch Cytoscape:
Shortest Path with RBGL
Convert a sample Cytoscape network to a graph object.
openSession()
g <- createGraphFromNetwork()
Identify start and finish nodes (styling is optional).
start <- "YNL216W" #RAP1
finish <- "YER040W" #GLN3
setNodeBorderWidthBypass(c(start,finish), 20)
setNodeBorderColorBypass(start,"#00CC33")
setNodeBorderColorBypass(finish,"#CC00CC")
Perform shortest path calculation.
shortest <- sp.between(g, start, finish)
shortest$`YNL216W:YER040W`$length
shortest.path <- shortest$`YNL216W:YER040W`$path_detail
Visualize results in Cytoscape.
selectNodes(shortest.path, "name")
setNodeBorderWidthBypass(shortest.path, 20)
createSubnetwork()
LS0tCnRpdGxlOiAiU2hvcnRlc3QgUGF0aCB3aXRoIFJCR0wiCmF1dGhvcjogImJ5IEFsZXhhbmRlciBQaWNvIgpwYWNrYWdlOiBSQ3kzCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2ZvbGRpbmc6ICJub25lIgojICBwZGZfZG9jdW1lbnQ6CiMgICAgdG9jOiB0cnVlICAKLS0tCmBgYHtyLCBlY2hvID0gRkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBldmFsPUZBTFNFCikKYGBgCgoqVGhlIFIgbWFya2Rvd24gaXMgYXZhaWxhYmxlIGZyb20gdGhlIHB1bGxkb3duIG1lbnUgZm9yKiBDb2RlICphdCB0aGUgdXBwZXItcmlnaHQsIGNob29zZSAiRG93bmxvYWQgUm1kIiwgb3IgW2Rvd25sb2FkIHRoZSBSbWQgZnJvbSBHaXRIdWJdKGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLWF1dG9tYXRpb24vbWFzdGVyL2Zvci1zY3JpcHRlcnMvUi9ub3RlYm9va3MvU2hvcnRlc3QtcGF0aC5SbWQpLioKClRoaXMgdmlnbmV0dGUgd2lsbCBzaG93IHlvdSBob3cgdG8gcGVyZm9ybSBhIHNob3J0ZXN0IHBhdGggY2FsY3VsYXRpb24gdXNpbmcgUkJHTCBvbiBhIG5ldHdvcmsgaW4gQ3l0b3NjYXBlLiBSQkdMIGlzIGEgQmlvY29uZHV0b3IgcGFja2FnZSB0aGF0IG9mZmVycyBhbiBhcnJheSBvZiBhbmFseXRpY2FsIGZ1bmN0aW9ucyBmb3IgZ3JhcGhzLgoKIyBJbnN0YWxsYXRpb24KYGBge3J9CmlmKCEiUkN5MyIgJWluJSBpbnN0YWxsZWQucGFja2FnZXMoKSl7CiAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCiAgICBCaW9jTWFuYWdlcjo6aW5zdGFsbCgiUkN5MyIpCn0KaWYoISJSQkdMIiAlaW4lIGluc3RhbGxlZC5wYWNrYWdlcygpKXsKICAgIGluc3RhbGwucGFja2FnZXMoIkJpb2NNYW5hZ2VyIikKICAgIEJpb2NNYW5hZ2VyOjppbnN0YWxsKCJSQkdMIikKfQpsaWJyYXJ5KFJDeTMpCmxpYnJhcnkoUkJHTCkKYGBgCgojIFJlcXVpcmVkIFNvZnR3YXJlClRoZSB3aG9sZSBwb2ludCBvZiBSQ3kzIGlzIHRvIGNvbm5lY3Qgd2l0aCBDeXRvc2NhcGUuIFlvdSB3aWxsIG5lZWQgdG8gaW5zdGFsbCBhbmQgbGF1bmNoIEN5dG9zY2FwZTogCgoqIERvd25sb2FkIHRoZSBsYXRlc3QgQ3l0b3NjYXBlIGZyb20gaHR0cDovL3d3dy5jeXRvc2NhcGUub3JnL2Rvd25sb2FkLnBocCAKKiBDb21wbGV0ZSBpbnN0YWxsYXRpb24gd2l6YXJkCiogTGF1bmNoIEN5dG9zY2FwZSAKCmBgYHtyfQpjeXRvc2NhcGVQaW5nKCkKYGBgCgojIFNob3J0ZXN0IFBhdGggd2l0aCBSQkdMCjxjZW50ZXI+CiFbXShodHRwczovL2N5dG9zY2FwZS5naXRodWIuaW8vY3l0b3NjYXBlLWF1dG9tYXRpb24vZm9yLXNjcmlwdGVycy9SL25vdGVib29rcy9kYXRhL2ltZy9zaG9ydGVzdC5wbmcpCjwvY2VudGVyPgoKQ29udmVydCBhIHNhbXBsZSBDeXRvc2NhcGUgbmV0d29yayB0byBhIGdyYXBoIG9iamVjdC4KYGBge3J9Cm9wZW5TZXNzaW9uKCkKZyA8LSBjcmVhdGVHcmFwaEZyb21OZXR3b3JrKCkKYGBgCgkKSWRlbnRpZnkgc3RhcnQgYW5kIGZpbmlzaCBub2RlcyAoc3R5bGluZyBpcyBvcHRpb25hbCkuCmBgYHtyfQpzdGFydCA8LSAiWU5MMjE2VyIgICNSQVAxCmZpbmlzaCA8LSAiWUVSMDQwVyIgICNHTE4zCnNldE5vZGVCb3JkZXJXaWR0aEJ5cGFzcyhjKHN0YXJ0LGZpbmlzaCksIDIwKQpzZXROb2RlQm9yZGVyQ29sb3JCeXBhc3Moc3RhcnQsIiMwMENDMzMiKQpzZXROb2RlQm9yZGVyQ29sb3JCeXBhc3MoZmluaXNoLCIjQ0MwMENDIikKYGBgCgpQZXJmb3JtIHNob3J0ZXN0IHBhdGggY2FsY3VsYXRpb24uCmBgYHtyfQpzaG9ydGVzdCA8LSBzcC5iZXR3ZWVuKGcsIHN0YXJ0LCBmaW5pc2gpCnNob3J0ZXN0JGBZTkwyMTZXOllFUjA0MFdgJGxlbmd0aCAKc2hvcnRlc3QucGF0aCA8LSBzaG9ydGVzdCRgWU5MMjE2VzpZRVIwNDBXYCRwYXRoX2RldGFpbApgYGAKClZpc3VhbGl6ZSByZXN1bHRzIGluIEN5dG9zY2FwZS4KYGBge3J9CnNlbGVjdE5vZGVzKHNob3J0ZXN0LnBhdGgsICJuYW1lIikKc2V0Tm9kZUJvcmRlcldpZHRoQnlwYXNzKHNob3J0ZXN0LnBhdGgsIDIwKQpjcmVhdGVTdWJuZXR3b3JrKCkKYGBgCg==